﻿//1、如下程序的运行结果是（D ）
//char c[5] = { 'a', 'b', '\0', 'c', '\0' };
//printf("%s", c);
//A: 'a' 'b' B : ab\0c\0 C: ab c D : ab
//
//
//
//2、若有定义： int a[2][3]; ，以下选项中对 a 数组元素正确引用的是（D ）
//A : a[2][0] B : a[2][3] C : a[0][3] D : a[1 > 2][1]
//
//
//3、在下面的字符数组定义中，哪一个有语法错误（ C）
//A : char a[20] = "abcdefg"; B: char a[] = "x+y=5."; C: char a[15]; D: char a[10] = '5';
//
//
//
//4、下列定义数组的语句中正确的是【多选】（AB ）
//A :
//#define size 10
//char str1[size], str2[size + 2];
//B: char str[]; C: int num['10']; D: int n = 5; int a[n][n + 2];
//
//
//
//
//5、已知 i，j 都是整型变量，下列表达式中，与下标引用 X[i][j] 不等效的是【多选】（BD ）
//A : *(X[i] + j) B : *(X + i)[j] C : *(X + i + j) D : *(*(X + i) + j)
//
//
//
//
//1、编写一个函数，计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内(0~127 ，包括 0 和 127)，换行
//表示结束符，不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
//
//#include<stdio.h>
//#include<stdlib.h>
//#include<string.h>
//
//int main()
//{
//    int tmp[128] = { 0 };//用于标记去重
//    char str[400];//存放字符串
//    int len, asc, num = 0;
//    scanf("%s", str);
//    len = strlen(str);
//    for (int i = 0; i < len; i++)
//    {
//        asc = (int)str[i];
//        if (tmp[asc] == 0)
//        {
//            tmp[asc] = 1;
//            num++;
//        }
//    }
//    printf("%d", num);
//    return 0;
//}
//
//
//
//2、给定一个大小为 n 的数组，找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n / 2 ⌋ 的元素。
//你可以假设数组是非空的，并且给定的数组总是存在多数元素。
//int cmp(const void* a, const void* b)
//{
//    return (*(int*)a - *(int*)b);
//}
//
//int majorityElement(int* nums, int numsSize)
//{
//    qsort(nums, numsSize, sizeof(int), cmp);
//    return nums[(numsSize - 1) / 2];//排序过后中间位置一定是多数元素
//}